package com.nuanshui.heatedloan.order.integration.annotation;


import com.nuanshui.heatedloan.order.enums.OrderOptionType;
import org.springframework.stereotype.Component;

import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@Target(value=ElementType.TYPE)
@Documented
@Component
public @interface OrderExecuteAnnotation {
	
	public String value();

	/**
	 * 顺序
	 * @return
	 */
	public int order() default Integer.MAX_VALUE;
	
	//支持和不支持两个只能使用一个！如果使用两个就回出现分歧 12345    支持1 不支持2 那么 345示支持还是不支持呢？ 如果都为空，则默认支持

	//2017年04月13日23:54:25 其实我发现, 这两个现在就不用了, 默认所有的 handler 都走..因为 handler 的执行链是固定的.
	/**
	 * 支持的订单类型 @see com.nuanshui.heatedloan.appointment.constant.AppointmentOrderTypeConstant
	 * @return
	 */
	public int[] supportOrderType() default {};

	/**
	 * 不支持的订单类型类型 @see com.nuanshui.heatedloan.appointment.constant.AppointmentOrderTypeConstant
	 * @return
	 */
	public int[] notSupportOrderType() default {};

	/**
	 * 业务类型，
	 * @return
	 */
	public OrderOptionType bizOrderOptionType() default OrderOptionType.NONE;
	
}
